using System;
using System.Reflection;
using Microsoft.SPOT;
using NetduinoHappyHour.Hardware;

namespace NetduinoHappyHour.Util
{
    /// <summary>
    /// special command to update running commands, merely used by remote control
    /// Due remote control might not know what command is running this is set null,
    /// and has to be set externally before call on Execute()!
    /// </summary>
    public class UpdateRunningCommand : UpdateObject
    {
        /// <summary>
        /// Special contructor initializes without giving the object to be updated.
        /// Thisis needs to be set external before call Execute()!
        /// </summary>
        /// <param name="PropertyChainToUpdate">"PropertyToBeUpdated;ValueToBeSet;TypeOfProperty#NextPropertyToBeUpdated;Value;Type"</param>
        public UpdateRunningCommand(string PropertyChainToUpdate)
            : base(null, PropertyChainToUpdate)
        {
        }
        /// <summary>
        /// Special contructor initializes without giving the object to be updated.
        /// Thisis needs to be set external before call Execute()!
        /// </summary>
        /// <param name="PropertyToUpdate">the objects property to be updated</param>
        /// <param name="Value">the value to be set</param>
        /// <param name="Type">the type, currently supported: int, bool, string</param>
        public UpdateRunningCommand(string PropertyToUpdate, string value, string type)
            : base(null, PropertyToUpdate, value, type)
        {
        }
    }
}
